<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Object.defineProperty </title>
</head>
<body>
    
</body>
<script>
    // let number = 100;
    // let preson = {
    //     name:'liweihua',
    //     school:'1'
    // }
    //defindProperty 定义添加属性函数
    // Object.defineProperty(preson ,'age',{
    //     // value:number, //属性值
    //     // enumerable:true, //可枚举的 默认false
    //     // writable:true, //控制属性是否可以被修改 默认false
    //     // configurable:true, //控制属性是否可以被删除 默认false
    //     // 当有get(getter) 时 value 为getter的返回值 value 不应该配置
    //     get(){
    //         console.log('有人读取了age')
    //         return number
    //     },
    //     set(value){
    //         console.log('有人设置了age')
    //         number = value
    //     }
    // })
    // console.log(preson)
    //第二遍
    let preson = {
        name:'liweihua'
    }
    let number = 20
    Object.defineProperty(preson,'age',{
        // value:18,
        enumerable:true,
        configurable:true,
        // writable:true,
        get(){
            return number
        },
        set(value){
            number = value
        }
    })

    console.log(preson)
</script>
</html>